package cn.luischen.controller;

import cn.luischen.constant.ErrorConstant;
import cn.luischen.constant.Types;
import cn.luischen.constant.WebConst;
import cn.luischen.dto.ArchiveDto;
import cn.luischen.dto.cond.ContentCond;
import cn.luischen.exception.BusinessException;
import cn.luischen.model.CommentDomain;
import cn.luischen.model.ContentDomain;
import cn.luischen.service.comment.CommentService;
import cn.luischen.service.content.ContentService;
import cn.luischen.service.meta.MetaService;
import cn.luischen.service.option.OptionService;
import cn.luischen.service.site.SiteService;
import cn.luischen.utils.*;
import com.github.pagehelper.PageInfo;
import com.vdurmont.emoji.EmojiParser;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.net.URLEncoder;
import java.util.Date;
import java.util.List;

import static org.junit.Assert.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
import org.junit.Rule;
import org.junit.runner.RunWith;
import org.junit.rules.ExpectedException;
import org.junit.Test;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.reflect.Whitebox;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.mockito.stubbing.Answer;
import java.lang.reflect.Method;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.parser.ParserConfig;
import java.util.Map;
import java.util.List;
import com.unitspirit.runtime.*;
/**
 * The class contains tests for the class cn.luischen.controller.HomeController.
*
* @generatedBy UnitSpirit CreateTemplateTestFile4
* @version 1.0.9.11 
*/
@PowerMockIgnore({"javax.management.*"})
public class HomeController_updateArticleHit_WGTest {
  @Rule  
  public ExpectedException unitspirit_thrown= ExpectedException.none();
  /**
  * 测试方法初始化.
  * 
  * @throws Exception 
  *         if the initialization fails for some reason 
  *  
  * @generatedBy UnitSpirit at 2021-12-08 11:01:07
  */  
 @org.junit.Before 
  public void setUp()  throws Exception 
  { 
    try{
    GlobalUnitInit.init(); 
    MockitoAnnotations.initMocks(this);
   ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
}catch(Exception ex){
  ex.printStackTrace();
}
  }

  
@InjectMocks 
cn.luischen.controller.HomeController unitspirit_fixture;

@Mock 
cn.luischen.service.comment.CommentService mock_CommentService;
@Mock 
cn.luischen.service.site.SiteService mock_SiteService;
@Mock 
cn.luischen.service.option.OptionService mock_OptionService;
@Mock 
cn.luischen.service.content.ContentService mock_ContentService;
@Mock 
cn.luischen.service.meta.MetaService mock_MetaService;

  /**
  * @date 2021-12-08 11:01:09
  * @see cn.luischen.controller.HomeController#updateArticleHit
  * @category auto generate by UnitSpirit  
  * @author UnitSpirit   
  */
  @Test
  public void test_updateArticleHit_1207_113854_702_1_0() throws Throwable {
    Integer Integer_p_0 = 27;
    Integer Integer_p_1 =  null ;
  //成员变量设置


    //返回值定义 
    //该函数无返回值 
  cn.luischen.utils.MapCache  mock_sub_caller_MapCache2 = PowerMockito.mock(cn.luischen.utils.MapCache.class);
    String Stringmock1_0 = "article";
    String Stringmock1_1 = "hits";
    Object Objectmock1_2 = "1";

    PowerMockito.doReturn(null).when( mock_sub_caller_MapCache2,"hget",anyString(),anyString());
    PowerMockito.doNothing().when( mock_sub_caller_MapCache2).hset(anyString(),anyString(),anyObject());

    
    Whitebox.invokeMethod(unitspirit_fixture, "updateArticleHit",Integer_p_0,Integer_p_1);
    assertTrue(true);
  }
  /**
  * @date 2021-12-08 11:01:09
  * @see cn.luischen.controller.HomeController#updateArticleHit
  * @category auto generate by UnitSpirit  
  * @author UnitSpirit   
  */
  @Test
  public void test_updateArticleHit_1207_113913_107_1_0() throws Throwable {
    Integer Integer_p_0 = 27;
    Integer Integer_p_1 =  null ;
  //成员变量设置


    //返回值定义 
    //该函数无返回值 
  cn.luischen.utils.MapCache  mock_sub_caller_MapCache2 = PowerMockito.mock(cn.luischen.utils.MapCache.class);
    Integer mock_result_Integer2 = 1;
    String Stringmock1_0 = "article";
    String Stringmock1_1 = "hits";
    Object Objectmock1_2 = "2";

    PowerMockito.when( mock_sub_caller_MapCache2.hget(anyString(),anyString())).thenReturn( mock_result_Integer2);
    PowerMockito.doNothing().when( mock_sub_caller_MapCache2).hset(anyString(),anyString(),anyObject());

    
    Whitebox.invokeMethod(unitspirit_fixture, "updateArticleHit",Integer_p_0,Integer_p_1);
    assertTrue(true);
  }
}